
using System;

namespace SpotifyGenNHibernate.EN.Spotify
{
        public class ColaDeReproduccionEN
        {
        /**
         *
         */

        private System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionBibliotecaEN> cancionesBiblioteca;

        /**
         *
         */

        private Spotify.UsuarioEN usuario;

        /**
         *
         */

        private int id;





        public virtual System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionBibliotecaEN> CancionesBiblioteca { get { return cancionesBiblioteca; } set { cancionesBiblioteca = value;  } }


        public virtual Spotify.UsuarioEN Usuario { get { return usuario; } set { usuario = value;  } }


        public virtual int Id { get { return id; } set { id = value;  } }



        public ColaDeReproduccionEN()
        {
        }



        public ColaDeReproduccionEN(int id, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionBibliotecaEN> cancionesBiblioteca, Spotify.UsuarioEN usuario)
        {
                this.init (id, cancionesBiblioteca, usuario);
        }


        public ColaDeReproduccionEN(ColaDeReproduccionEN colaDeReproduccion)
        {
                this.init (colaDeReproduccion.Id, colaDeReproduccion.CancionesBiblioteca, colaDeReproduccion.Usuario);
        }

        private void init (int id, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.CancionBibliotecaEN> cancionesBiblioteca, Spotify.UsuarioEN usuario)
        {
                this.Id = id;


                this.CancionesBiblioteca = cancionesBiblioteca;

                this.Usuario = usuario;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                ColaDeReproduccionEN t = obj as ColaDeReproduccionEN;
                if (t == null)
                        return false;
                if (Id.Equals (t.Id))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == Id ? 0 : this.Id.GetHashCode ());
                return hash;
        }
        }
}
